package com.ali.gts.aop;

import com.ali.gts.controller.EmpController;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Date;

/**
 * //标注这个类是个切面类
 */
@Aspect
public class ServiceAspect {


    Logger logger = LoggerFactory.getLogger(ServiceAspect.class);

    /**
        方法有如下的要求
             1、方法是public
             2、方法是void
             3、方法名称自定义
             4、方法可以有参数

        这里是拦截com.ali.gts.service.impl包中所有类的任意方法，不包含子包中的类
     */

    @Before("execution(* com.ali.gts.service.impl.*.*(..))")
    public void before(JoinPoint joinPoint){

        logger.info("当前方法是{},当前方法执行的时间是{}",joinPoint.getSignature(),new Date());
    }


//    @After("execution(* com.kuang.pojo.Red.red())")
//    public void after(){
//        System.out.println("就是这么牛逼");
//    }
}
